Тест эхо-сервера ETH1 LWIP

Создание проекта Vivado

Измените аппаратную часть на основе предыдущего проекта HDMI:

Поскольку по умолчанию выход PS ZYNQ при использовании метода EMIO - это GMII, а наш сетевой чип (на плате-адаптере) RTL8211 выводит RGMII, нам необходимо добавить IP-модуль преобразования GMII в RGMII (Gmii to Rgmii).

image-20250623175025060

Откройте модуль GMII TO RGMII и измените настройки, как показано ниже.

image-20250623175103147

image-20250623175132990

Кроме того, поскольку сброс GMII TO RGMII активен по высокому уровню, а ZYNQ выдает сброс по низкому уровню, нам нужно добавить инвертор (найдите utility и в полученных опциях выберите utility vector logic).

image-20250623175153058

На странице настроек измените его на not (инвертор) и установите ширину бита равной 1.

image-20250623175211671

Поскольку требования к конфигурации сетевого порта конфликтуют с требованиями к конфигурации HDMI, нам необходимо изменить настройки ZYNQ:

image-20250707170016275

image-20250626122914744

Подключите согласно схеме ниже:

image-20250626123241385

После изменения блочной схемы сохраните ее, затем заново сгенерируйте "Generate Output Products" и "Create HDL Wrapper". Далее нам нужно изменить файл ограничений, чтобы назначить выводы для интерфейса Ethernet1 в соответствии со схемой.

image-20250623170246796

image-20250623170455309

image-20250623171033261

image-20250623171052724

Сохраните файл ограничений, затем выполните последующие операции для повторной генерации файла BIT.

Создание проекта Vitis

Поскольку он может использовать тот же проект, что и Ethernet0, нет необходимости создавать новый проект. Однако некоторые изменения все же необходимы:

В файлах кода проекта измените сетевой порт на Ethernet1:

image-20250707165510132

image-20250707165534246

Измените файлы библиотеки lwip:

Измените файл lwip211.mld:

В соответствии с путем установки программного обеспечения, у меня он находится по адресу C:\Xilinx\Vitis\2021.1\data\embeddedsw\ThirdParty\sw_services\lwip211_v1_5\data. Добавьте следующее содержимое:

После этого откройте BSP и измените настройки, как показано на рисунке ниже:

image-20250707170551773

Измените файл lwip211.tcl (путь к файлу: C:\Xilinx\Vitis\2021.1\data\embeddedsw\ThirdParty\sw_services\lwip211_v1_5\data) и добавьте следующее содержимое:

Аналогично, после внесения изменений, обязательно щелкните правой кнопкой мыши по проекту платформы и выберите Build Project:

image-20250707172615917

 

Компиляция и отладка

После успешной компиляции проекта подключите JTAG отладочной платы к компьютеру с помощью кабеля USB Type-C, а другим кабелем USB Type-C подключите PS UART платы к компьютеру. Соедините плату и компьютер Ethernet-кабелем. Откройте на компьютере инструмент для отладки через последовательный порт, например MobaXterm, и установите соединение с PS UART отладочной платы. Через последовательный порт вы сможете увидеть, что сеть запущена, IP-адрес - 192.168.3.150, а сетевой порт - 7.

image-20250707172124246

Используя компьютер с Windows в том же сегменте сети роутера (можно использовать IP-адрес хоста), выполните команду ping для этого IP-адреса. Если ping успешен, это означает, что сетевое соединение установлено:

image-20250813190855569

После подключения с помощью ассистента сетевой отладки, любые отправленные вами данные будут получены обратно по сети (номер порта установлен на 7, а IP-адрес устанавливается в соответствии с IP-адресом платы, полученным ранее через последовательный порт). Запустите TCP-клиент на компьютере:

image-20250908152435669